#ifndef NEOSWITCHBUTTON_H
#define NEOSWITCHBUTTON_H

#include "stdafx.h"
#include <QWidget>

class NeoSwitchButtonPrivate;
class NeoSwitchButton : public QWidget
{
    Q_OBJECT
    NEO_PUBLIC_CREATE(NeoSwitchButton)
    NEO_PUBLIC_PROPERTY_CREATE_NOTIFY_H(bool, Checked)
    NEO_PUBLIC_PROPERTY_CREATE_H(QColor, IndicatorCheckedColor)
    NEO_PUBLIC_PROPERTY_CREATE_H(QColor, IndicatorUncheckedColor)
    NEO_PUBLIC_PROPERTY_CREATE_H(QColor, BackgroundCheckedColor)
    NEO_PUBLIC_PROPERTY_CREATE_H(QColor, BackgroundUncheckedColor)
public:
    NeoSwitchButton(QWidget *parent = nullptr);
    ~NeoSwitchButton();

protected:
    void mousePressEvent(QMouseEvent *event) override;
    void mouseReleaseEvent(QMouseEvent *event) override;
    void resizeEvent(QResizeEvent *event) override;
    void paintEvent(QPaintEvent *event) override;
};

#endif